#pragma once
#ifndef CAMERA_H
#define CAMERA_H

#include <opencv2/opencv.hpp>

class Camera {
public:
    // 构造函数，接受相机索引，默认为 0（通常表示默认相机）
    Camera(int cameraIndex = 0);
    // 析构函数
    ~Camera();

    // 打开相机的方法，成功打开返回 true，否则返回 false
    bool open();
    // 检查相机是否已经打开
    bool isOpen() const;
    // 捕获一帧图像
    bool captureFrame(cv::Mat& frame);
    //获取某一帧图像
    bool getFrame(cv::Mat& frame);
    // 关闭相机
    void close();

private:
    // 相机索引
    int m_cameraIndex;
    // OpenCV 的 VideoCapture 对象，用于相机操作
    cv::VideoCapture m_capture;
};

#endif // CAMERA_H